let arr = [1, 2, 3, 4].reduce((prev, cur) => {

    return prev + cur
})
console.log(arr)

// var arrString = 'abcdaabc';
const showNumber = [
    {name: 'zhangsan', age: 18},
    {name: 'lisi', age: 18},
    {name: 'zhangsan', age: 18},
    {name: 'wangwu', age: 18}

]
// let resnum = showNumber.reduce((res, cur) => {
//     res[cur.name] ? res[cur.name]++ : res[cur.name] = 1
//     return res
// }, {})
// console.log(resnum)
// 去重
// let array = [1, 3, 3, 4, 2, 4]
// let successArr = array.reduce((per, cur) => {
//     if (per.indexOf(cur) === -1) {
//         per.push(cur)
//     }
//     return per
// }, [])
// console.log(successArr)

// let res =  showNumber.reduce((res, cur) => {
//     res[cur.name] ? res[cur.name]++ : res[cur.name] = 1
//     return res
// }, {})
// console.log(res)

// 二维数组变成一维数组
// var flattened = [[0, 1], [2, 3], [4, 5]].reduce(
//     function(a, b) {
//         console.log(a)
//         console.log(b,'b')
//       return  a.concat(b)
//     },
//     []
//   );
//   console.log(flattened)

// const showNumber = [
//     {name: 'zhangsan', age: 18},
//     {name: 'lisi', age: 18},
//     {name: 'zhangsan', age: 18},
//     {name: 'wangwu', age: 18}

// ]

// let ress = showNumber.reduce((perv, cur, index) => {
//     perv[cur.name] ? perv[cur.name] ++ :  perv[cur.name] = 1
//     return perv
// }, {})
// console.log(ress)

// let repeat = [1,1,2,3,3,4,5].reduce((perv, cur) => {
//     if (perv.indexOf(cur) === -1) {
//         perv.concat(cur)
//     }
//     return perv
// }, [])